/**   
* @Title: Goods.java 
* @Package com.dkt.wap.web 
* @Description: TODO(用一句话描述该文件做什么) 
* @author A18ccms A18ccms_gmail_com   
* @date 2020年6月29日 下午8:58:42 
* @version V1.0   
*/
package com.dkt.wap.web;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.Errors;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.dkt.base.NetConsts;
import com.dkt.base.Resps;
import com.dkt.base.ValidUtil;
import com.dkt.base.domain.Item;
import com.dkt.wap.service.ItemSrv;
import com.dkt.wap.web.dto.Dto;
import com.dkt.wap.web.dto.ItemDto;

/**
 * 商品视图控制器
 * @ClassName:  Goods 
 * @PackageName com.dkt.wap.web 
 * @Description: TODO(这里用一句话描述这个类的作用) 
 * @author xuy
 * @date: 2020年6月29日 下午8:58:42 
 * @version V1.0 
 */
@Controller
public class GoodsCtrl {
	
	
	@Autowired
	private ItemSrv itemSrv;
	
	/**
	 * 进入商品查询界面
	 * @Title: doSearch 
	 * @Description: 进入商品查询界面
	 * @return
	 * @return: String  
	 * @throws
	 */
	@RequestMapping("/doSearch")
	public String doSearch() {
		return "search";
	}
	
	/**
	 * 带查询条件，进入商品列表页面
	 * @Title: search 
	 * @Description: 进入商品列表页面
	 * @return
	 * @return: String  
	 * @throws
	 */
	@RequestMapping("/search")
	public String search(String key,Model model){

		return "goods";
	}
	
	/**
	 * 不带查询条件，进入商品列表页面
	 * @Title: search 
	 * @Description: 不带查询条件，进入商品列表页面 
	 * @param key
	 * @return
	 * @return: String  
	 * @throws
	 */
	@RequestMapping("/goods")
	public String search(String key){
		return "goods";
	}
	
	/**
	 * 获取商品
	 * @Title: goodsDetails 
	 * @Description: 获取商品 
	 * @param id
	 * @param model
	 * @return: String  
	 * @throws
	 */
	@RequestMapping("/goods_details")
	public String goodsDetails(String id,Model model) {
		Item item = itemSrv.getItem(id);
		model.addAttribute("item", item);
		return "goods_details";
	}
	
	/**
	 * 检索商品
	 *
	 * @return
	 * @version 2.0
	 */
	
	/**
	 *  获取商品列表
	 * @Title: list 
	 * @Description: 获取商品列表 
	 * @param item
	 * @param errors
	 * @param response
	 * @return: Object  
	 */
	@RequestMapping(value = "/item/list", method = RequestMethod.GET)
	@ResponseBody
	public Object list(@Validated(Dto.Srch.class) ItemDto item, Errors errors, HttpServletResponse response)
			throws Exception {
		if (errors.hasErrors()) {
			return ValidUtil.errResps(response, errors);
		}
		List<Item> items = itemSrv.itemList(item);
		Resps<List<Item>> resps = new Resps<>(NetConsts.RC_SUCCESS, new String[] {"list success"});
		resps.setData(items);
		return resps;
	}
}
